package com.utils;

import com.alibaba.druid.pool.DruidDataSourceFactory;

import javax.sql.DataSource;
import java.io.InputStream;
import java.sql.Connection;
import java.util.Properties;

/**
 * 抽取公共代码
 * 用static特性进行获取配置数据，项目开始时执行一次
 */
// 抽取公共代码
public class JDBCUtils {

    //数据源(数据库连接池)
    private static DataSource dataSource;

    //静态代码块 -> 只执行一次,在类被加载时执行
    static {


        try {
            Properties properties = new Properties();
            InputStream in = JDBCUtils.class.getClassLoader().getResourceAsStream("jdbc.properties");
            properties.load(in);

            //使用Druid连接池工厂直接加载Properties集合,得到数据源对象
            dataSource = DruidDataSourceFactory.createDataSource(properties);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    /**
     * @return 返回获取连接池的方法
     */
    //获取数据库连接池的方法
    public static DataSource getDataSource(){
        return dataSource;
    }

}
